package com.boot.persistence.condition;


import com.boot.persistence.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @author 霜寒 <1621856595@qq.com>
 * @description 查询条件
 * @date 2020/6/4 0:04
 **/

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@ApiModel(value = "查询条件对象")
public class QueryCondition<Id extends Serializable, T extends BaseModel<Id>> {

    @ApiModelProperty(value = "查询条件", name = "query")
    private T query;
    @ApiModelProperty(value = "分页条件", name = "pageCondition")
    private PageCondition pageCondition;
    @ApiModelProperty(value = "排序条件", name = "orderConditions")
    private List<OrderCondition> orderConditions;
    @ApiModelProperty(value = "列条件", name = "columnCondition")
    private ColumnCondition columnCondition;

}
